/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package localizacao.banco;

import estruturas.IdString;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import principal.banco.bd;

/**
 *
 * @author Diego
 */
public class bd_cidade
{

    public static boolean cadastraCidade(String cidade, int pais, int estado) throws SQLException
    {
        String sql = "INSERT INTO cidade(nome,kestado,kpais) "
                + "VALUES('" + cidade + "','" + estado + "','" + pais + "') ";
//        try
//        {
            bd.query(sql);

//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro("Erro ao cadastrar cidade!\n" + ex + "\n" + sql);
//            return false;
//        }
        return true;
    }

    public static ArrayList<IdString> getCidades(Object obj1, Object obj2) throws SQLException
    {
        ArrayList<IdString> array = null;

//        try
//        {
            IdString pais = (IdString) obj1;
            IdString estado = (IdString) obj2;
            ResultSet t = null;
            if (pais == null || estado == null)
            {
                return null;
            }
            String sql = "select kcidade,nome "
                    + "FROM  cidade where kestado = " + estado.getId() + " and kpais = " + pais.getId() + " order by nome ASC";

            PreparedStatement p = bd.getConnection().prepareStatement(sql);

            t = p.executeQuery();

            array = new ArrayList<>();

            while (t.next())
            {
                IdString mb = new IdString();
                mb.setId(t.getInt("kcidade"));
                mb.setString(t.getString("nome"));

                array.add(mb);
                //System.out.println(t.getString("cidades"));
            }
            //System.out.println(t.getInt(t.findColumn("kuser")));
            //saida = array.toArray();

            //System.out.println(t.getInt(t.findColumn("kuser")));
            if (array.isEmpty())
            {
                //tela_erro tela = new tela_erro("Não há cidades cadastradas.");
            } else
            {
                //return new pessoa(t).getPessoa();
            }
            return array;
//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro("Erro em bd_cidade \n" + ex.getMessage() + "\n");
//            return null;
//        }
    }

    public static boolean editCidade(int id, String cidade, int pais, int estado) throws SQLException
    {
        String sql = "UPDATE cidade SET nome = '" + cidade + "', kpais = '" + pais + "', kestado = '" + estado + "' WHERE kcidade = '" + id + "' ";
//        try
//        {
            bd.query(sql);
//
//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro("Erro ao editar cidade!\n" + ex + "\n" + sql);
//            return false;
//        }
        return true;
    }

    public static boolean delCidade(String id) throws SQLException
    {
        String sql = "DELETE FROM cidade WHERE kcidade IN(" + id + ");";
//        try
//        {
            bd.query(sql);

//        } catch (SQLException ex)
//        {
//            tela_erro tela_erro = new tela_erro("Erro ao editar cidade!\n" + ex + "\n" + sql);
//            return false;
//        }
        return true;
    }
}
